home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swagd_f.zip / FILES.SWG / 0037_Increasing a files size.pas < prev    next >
Pascal/Delphi Source File  |  1993-11-02  |  2KB  |  75 lines

  1. {
  2. IAN LIN
  3.  
  4. Add junk to file to increase size. v.2.2. }
  5.  
  6. {$I-,G+,R-,D-,L-}
  7.  
  8. Uses
  9.   dos;
  10.  
  11. Type
  12.   buf = array [1..$ffff] of byte;
  13.  
  14. Var
  15.   c, k,
  16.   size : longint;
  17.   s, v : word;
  18.   f    : file;
  19.   b    : ^buf;
  20.  
  21. Begin
  22.   writeln('JUNK v2.2');
  23.   if paramcount = 0 then
  24.   begin
  25.    writeln('Help screen. Syntax:');
  26.    writeln(paramstr(0),' <infile> <bytes>');
  27.    writeln('<infile>: source file -- <bytes>: bytes to add to source file');
  28.    writeln('Error level codes');
  29.    writeln('0: Normal execution or show help screen (no parameters)');
  30.    writeln('1: Not enough parameters. Must have specify a file and size.');
  31.    writeln('2: Invalid size specified for <bytes>');
  32.    halt(0);
  33.   End;
  34.  
  35.   if paramcount = 1 then
  36.   begin
  37.     writeln('Not enough parameters.');
  38.     halt(1);
  39.   End;
  40.  
  41.   assign(f, paramstr(1));
  42.   val(paramstr(2), size, v);
  43.   if (v <> 0) or (size < 0) then
  44.   begin
  45.     writeln('Invalid number in <bytes>. Run ', paramstr(0), ' alone for help.');
  46.     halt(2);
  47.   end;
  48.  
  49.   reset(f, 1);
  50.   if ioresult = 0 then
  51.     seek(f, filesize(f))
  52.   else
  53.     rewrite(f, 1);
  54.   k := size div sizeof(buf);
  55.   s := size mod sizeof(buf);
  56.   randomize;
  57.   new(b);
  58.   for c := 1 to sizeof(buf) do
  59.     b^[c] := random(128) + 128;
  60.  
  61.   while k > 0 do
  62.   begin
  63.     blockwrite(f, b^, sizeof(buf));
  64.     dec(k);
  65.   end;
  66.  
  67.   if s > 0 then
  68.     blockwrite(f, b^, s);
  69.   writeln('Wrote ', size, ' bytes to ', fexpand(paramstr(1)));
  70.   writeln('Total size of ', fexpand(paramstr(1)), ' is ', filesize(f));
  71.   close(f);
  72.   dispose(b);
  73. end.
  74.  
  75.